home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / LSC213.cpt / EventMgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-26  |  2.2 KB  |  121 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  EventMgr.h
  4.  *
  5.  *  Copyright (c) 1986, 1987 THINK Technologies, Inc.
  6.  *  These interfaces are based on information copyrighted
  7.  *  by Apple Computer, Inc., 1985, 1986, 1987.
  8.  *
  9.  */
  10.  
  11. #ifndef    _EventMgr_
  12. #define _EventMgr_
  13.     
  14. #ifndef    _MacTypes_
  15. #include "MacTypes.h"
  16. #endif
  17.  
  18. /*  event codes  */
  19. enum {
  20.     nullEvent,
  21.     mouseDown,
  22.     mouseUp,
  23.     keyDown,
  24.     keyUp,
  25.     autoKey,
  26.     updateEvt,
  27.     diskEvt,
  28.     activateEvt,
  29.     /* event 9 is no longer used */
  30.     networkEvt = 10,
  31.     driverEvt,
  32.     app1Evt,
  33.     app2Evt,
  34.     app3Evt,
  35.     app4Evt
  36. };
  37.  
  38. /*  masks for keyboard event message  */
  39. #define charCodeMask     0x000000FFL
  40. #define keyCodeMask        0x0000FF00L
  41. #define adbAddrMask        0x00FF0000L
  42.  
  43. /*  event masks  */
  44. #define mDownMask        0x2 
  45. #define mUpMask            0x4 
  46. #define keyDownMask     0x8
  47. #define keyUpMask         0x10 
  48. #define autoKeyMask     0x20 
  49. #define updateMask         0x40 
  50. #define diskMask         0x80 
  51. #define activMask         0x100 
  52. /* event 9 is no longer used */
  53. #define networkMask     0x400 
  54. #define driverMask         0x800 
  55. #define app1Mask         0x1000 
  56. #define app2Mask         0x2000 
  57. #define app3Mask         0x4000 
  58. #define app4Mask         0x8000 
  59. #define everyEvent         0xFFFF
  60.  
  61. /*  modifiers  */
  62. #define activeFlag        0x0001
  63. #define changeFlag        0x0002
  64. #define btnState         0x0080
  65. #define cmdKey             0x0100
  66. #define shiftKey         0x0200
  67. #define alphaLock         0x0400
  68. #define optionKey         0x0800
  69. #define controlKey        0x1000
  70.  
  71.  
  72. /* results returned by PostEvent    */
  73. /*    #define    noErr        0        */
  74. #define EvtNotEnb        1
  75.  
  76.  
  77. typedef struct EventRecord 
  78.     {
  79.     int        what;
  80.     long    message;
  81.     long    when;
  82.     Point    where;
  83.     int        modifiers;
  84.     }EventRecord;
  85.  
  86. typedef struct KeyMap
  87.     {
  88.     long    Key[4];
  89.     }KeyMap;
  90.     
  91. typedef    struct    EvQEl
  92.     {
  93.     struct QElem    *qLink;
  94.     int                qType;
  95.     int                evtQWhat;
  96.     long            evtQMessage;
  97.     long            evtQWhen;
  98.     Point            evtQWhere;
  99.     int                evtQModifiers;
  100.     } EvQEl, *EvQElPtr ;
  101.  
  102.  
  103. /*  functions returning non-integral values  */
  104. pascal struct QHdr *GetEvQHdr();
  105.  
  106. /*  low-memory globals  */
  107. extern int SysEvtMask : 0x144;
  108. extern struct QHdr EventQueue : 0x14A;
  109. extern char SEvtEnb : 0x15C;
  110. extern long Ticks : 0x16A;
  111. extern int KeyThresh : 0x18E;
  112. extern int KeyRepThresh : 0x190;
  113. extern ProcPtr JGNEFilter : 0x29A;
  114. extern ProcPtr Key1Trans : 0x29E;
  115. extern ProcPtr Key2Trans : 0x2A2;
  116. extern long DoubleTime : 0x2F0;
  117. extern long CaretTime : 0x2F4;
  118. extern char ScrDmpEnb : 0x2F8;
  119.  
  120.  
  121. #endif _EventMgr_